[−][src]Crate globwalk
Recursively find files in a directory using globs.
Features include
gitignore
's extended glob syntax- Control over symlink behavior
- Control depth walked
- Control order results are returned
Examples
Finding image files in the current directory.
extern crate globwalk; use std::fs; for img in globwalk::glob("*.{png,jpg,gif}")? { if let Ok(img) = img { fs::remove_file(img.path())?; } }
Advanced Globbing
By using one of the constructors of globwalk::GlobWalker
, it is possible to alter the
base-directory or add multiple patterns.
extern crate globwalk; use std::fs; let walker = globwalk::GlobWalkerBuilder::from_patterns( BASE_DIR, &["*.{png,jpg,gif}", "!Pictures/*"], ) .max_depth(4) .follow_links(true) .build()? .into_iter() .filter_map(Result::ok); for img in walker { fs::remove_file(img.path())?; }
Structs
FileType | Possible file type filters. Constants can be OR'd to filter for several types at a time. |
GlobError | Error from parsing globs. |
GlobWalker | An iterator which emits glob-matched patterns. |
GlobWalkerBuilder | An iterator for recursively yielding glob matches. |
Functions
glob | Construct a new |
glob_builder | Construct a new |
Type Definitions
DirEntry | A directory entry. |
WalkError | Error from iterating on files. |